﻿using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;

namespace NP.BPMReportPlatform.HR.Dto
{
    /// <summary>
    /// 国家认证 批量导入
    /// IsLabelingError：是否标注数据错误
    /// </summary>
    [ExcelImporter(IsLabelingError = true, SheetName = "国家认证信息")]
    public class ImportLCZXInput
    {
        /// <summary>
        /// 学员姓名
        /// </summary>
        [ImporterHeader(Name = "学员姓名")]
        [Required(ErrorMessage = "学员姓名不能为空")]
        public string StudentName { get; set; }

        /// <summary>
        /// 身份证号码
        /// </summary>
        [ImporterHeader(Name = "身份证号码")]
        [Required(ErrorMessage = "身份证号码不能为空")]
        public string IdCardNumber { get; set; }

        /// <summary>
        /// 证书类别
        /// </summary>
        [ImporterHeader(Name = "证书类别")]
        [Required(ErrorMessage = "证书类别不能为空")]
        public string CertificateType { get; set; }

        /// <summary>
        /// 国家/行业认证类型
        /// </summary>
        [ImporterHeader(Name = "国家/行业认证类型")]
        [Required(ErrorMessage = "国家/行业认证类型不能为空")]
        public string TypeOfWork { get; set; }

        /// <summary>
        /// 发证单位
        /// </summary>
        [ImporterHeader(Name = "发证单位")]
        [Required(ErrorMessage = "发证单位不能为空")]
        public string IssuingUnit { get; set; }

        /// <summary>
        /// 证书编号
        /// </summary>
        [ImporterHeader(Name = "证书编号")]
        //[Required(ErrorMessage = "证书编号不能为空")]
        public string CertificateNumber { get; set; }

        /// <summary>
        /// 证书有效期
        /// </summary>
        [ImporterHeader(Name = "证书有效期")]
        public string CertificateDate { get; set; }

        /// <summary>
        /// 理论成绩
        /// </summary>
        [ImporterHeader(Name = "理论成绩")]
        [Required(ErrorMessage = "理论成绩不能为空")]
        public string TheoreticalScore { get; set; }

        /// <summary>
        /// 实操成绩
        /// </summary>
        [ImporterHeader(Name = "实操成绩")]
        [Required(ErrorMessage = "实操成绩不能为空")]
        public string PracticalScore { get; set; }
    }

    /// <summary>
    /// 国家认证 批量导入
    /// </summary>
    public class LCZXNCImportTemplate
    {
        /// <summary>
        /// 学员姓名
        /// </summary>
        [ExporterHeader("学员姓名")]
        public string StudentName { get; set; }

        /// <summary>
        /// 身份证号码
        /// </summary>
        [ExporterHeader("身份证号码")]
        public string IdCardNumber { get; set; }

        /// <summary>
        /// 证书类别
        /// </summary>
        [ExporterHeader("证书类别")]
        public string CertificateType { get; set; }

        /// <summary>
        /// 国家/行业认证类型
        /// </summary>
        [ExporterHeader("国家/行业认证类型")]
        public string TypeOfWork { get; set; }

        /// <summary>
        /// 发证单位
        /// </summary>
        [ExporterHeader("发证单位")]
        public string IssuingUnit { get; set; }

        /// <summary>
        /// 证书编号
        /// </summary>
        [ExporterHeader("证书编号")]
        public string CertificateNumber { get; set; }

        /// <summary>
        /// 证书有效期
        /// </summary>
        [ExporterHeader("证书有效期")]
        public string CertificateDate { get; set; }

        /// <summary>
        /// 理论成绩
        /// </summary>
        [ExporterHeader("理论成绩")]
        public string TheoreticalScore { get; set; }

        /// <summary>
        /// 实操成绩
        /// </summary>        
        [ExporterHeader("实操成绩")]
        public string PracticalScore { get; set; }
    }
}
